package com.ruoyi.finance.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 账户信息对象 e_account
 *
 * @author ruoyi
 * @date 2024-11-21
 */

public class EAccount extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Integer id;


    /** 账户余额 */
    @Excel(name = "账户余额")
    private BigDecimal totalBalance;

    /** 可用余额 */
    @Excel(name = "可用余额")
    private BigDecimal availableBalance;

    /** 待收 */
    @Excel(name = "待收")
    private BigDecimal receivable;

    /** 冻结 */
    @Excel(name = "冻结")
    private BigDecimal frozenAmount;

    /** 状态 */
    @Excel(name = "状态")
    private Integer status;

    /** 登陆用户外键 */
    @Excel(name = "登陆用户外键")
    private Integer cid;

    /** 汇率表外键 */
    @Excel(name = "汇率表外键")
    private Integer did;
    /** 会员类型 */
    @TableField(exist = false)
    private Integer memberType;

     @TableField(exist = false)
    private String phone;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai")
    private Date latestTime;

     @TableField(exist = false)
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai")
    private Date createTime;


    @TableField(exist = false)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai")
    private Date start;

     @TableField(exist = false)
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai")
    private Date end;

    public Date getLatestTime() {
        return latestTime;
    }

    public void setLatestTime(Date latestTime) {
        this.latestTime = latestTime;
    }

    public Integer getMemberType() {
        return memberType;
    }

    public void setMemberType(Integer memberType) {
        this.memberType = memberType;
    }

    @Override
    public Date getCreateTime() {
        return createTime;
    }

    @Override
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getStart() {
        return start;
    }

    public void setStart(Date start) {
        this.start = start;
    }

    public Date getEnd() {
        return end;
    }

    public void setEnd(Date end) {
        this.end = end;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }




    public void setTotalBalance(BigDecimal totalBalance)
    {
        this.totalBalance = totalBalance;
    }

    public BigDecimal getTotalBalance()
    {
        return totalBalance;
    }
    public void setAvailableBalance(BigDecimal availableBalance)
    {
        this.availableBalance = availableBalance;
    }

    public BigDecimal getAvailableBalance()
    {
        return availableBalance;
    }
    public void setReceivable(BigDecimal receivable)
    {
        this.receivable = receivable;
    }

    public BigDecimal getReceivable()
    {
        return receivable;
    }
    public void setFrozenAmount(BigDecimal frozenAmount)
    {
        this.frozenAmount = frozenAmount;
    }

    public BigDecimal getFrozenAmount()
    {
        return frozenAmount;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }


    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getCid() {
        return cid;
    }

    public void setCid(Integer cid) {
        this.cid = cid;
    }

    public Integer getDid() {
        return did;
    }

    public void setDid(Integer did) {
        this.did = did;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("membertype", getMemberType())
            .append("totalBalance", getTotalBalance())
            .append("availableBalance", getAvailableBalance())
            .append("receivable", getReceivable())
            .append("frozenAmount", getFrozenAmount())
            .append("status", getStatus())
            .append("cid", getCid())
            .append("did", getDid())
            .append("start", getStart())
            .append("end", getEnd())
            .append("createTime", getCreateTime())
            .append("latestTime", getLatestTime())
            .toString();
    }
}
